Netcrook Logo
👤 KERNELWATCHER
🗓️ 06 Jan 2026  

كسر الحدود: كيف فتحت ثغرة رفع الملفات في AdonisJS الباب أمام متسللي الخوادم

العنوان الفرعي: ثغرة حرجة في نظام رفع الملفات لدى AdonisJS تركت عدداً لا يُحصى من الخوادم عرضة لكتابة ملفات عن بُعد - وربما للاستيلاء الكامل.

بدأ الأمر بهدوء، كما تبدأ معظم الاختراقات. مطوّر يثق بإطار عمل JavaScript شائع، فيرفع ملفاً. لكن تحت السطح، فتحت ثغرة دقيقة في منطق معالجة الملفات لدى AdonisJS باباً خلفياً يتيح للمهاجمين عن بُعد كتابة ملفات في أي مكان على الخادم. وفجأة، ما بدا كواجهة رفع غير مؤذية تحوّل إلى منصة محتملة لانطلاق اقتحامات سيبرانية مدمّرة.

تشريح الاستغلال

يكمن جوهر المشكلة في دالة MultipartFile.move() لدى AdonisJS، المستخدمة لمعالجة رفع الملفات. إذا لم يقم المطوّرون بتنقية أسماء الملفات أو تحديد خيارات الأمان، فإن الإطار يثق عمياءً بأي اسم ملف يقدمه العميل - حتى لو احتوى على تسلسلات خطيرة لاجتياز الأدلة مثل ../../../. يتيح ذلك للمهاجم وضع ملف في أي موقع قابل للكتابة على الخادم، وليس فقط داخل مجلد الرفع المقصود.

ولزيادة الطين بلة، يسمح السلوك الافتراضي أيضاً بالكتابة فوق الملفات الموجودة. وهذا يعني أن جهة خبيثة قد تستبدل سكربتات حرجة أو ملفات إعدادات أو حتى شيفرة التطبيق، ممهدة الطريق لتنفيذ شيفرة عن بُعد (RCE). ومع ذلك، يعتمد مدى الضرر على أذونات الخادم وكيفية نشر التطبيق. في أسوأ السيناريوهات، قد يختطف المهاجم الخادم بأكمله؛ وفي أفضلها، سيظل لديه موطئ قدم لزرع ملفات خبيثة أو تعطيل الخدمة.

كيف حدث هذا؟

ومما زاد المخاطر أن وثائق AdonisJS نفسها شجّعت دون قصد على أنماط تنفيذ غير آمنة. كثير من المطوّرين، باتباعهم الأمثلة الرسمية، أغفلوا خطوات أمنية حاسمة - فتركوا تطبيقاتهم مكشوفة على مصراعيها. لا يتطلب الاستغلال سوى نقطة رفع يمكن الوصول إليها ومطوّر أهمل تنقية المدخلات أو ضبط الخيارات بشكل صحيح. لا حاجة إلى مصادقة أو صلاحيات خاصة.

حصلت الثغرة على درجة CVSS v4.0 حرجة، تعكس كونها قابلة للهجوم عبر الشبكة وسهولة استغلالها. تُحث المؤسسات التي تستخدم إصدارات AdonisJS المتأثرة بشدة على الترقية فوراً وتدقيق جميع معالجات الرفع للتحقق من صحة أسماء الملفات وضبط إعدادات أمان صريحة. ويوصي فريق أمن AdonisJS الآن بالتحقق الصارم من المدخلات وتعطيل الكتابة فوق الملفات إلا عند الضرورة القصوى وبعد التحقق الدقيق.

دروس من الاختراق

تُعد هذه الحادثة تذكيراً صارخاً: حتى الأطر الموثوقة قد تُخفي ثغرات خطيرة، خصوصاً عندما تقصّر الوثائق. على المطوّرين أن يظلوا يقظين، وألا يفترضوا أبداً أن “آمن افتراضياً” يعني السلامة في كل سيناريو. بالنسبة للمؤسسات التي تشغّل AdonisJS، وقت الترقيع والتدقيق هو الآن - قبل أن يعثر المهاجمون على بابك المفتوح.

WIKICROOK

  • اجتياز المسار: اجتياز المسار هو خلل أمني يتلاعب فيه المهاجمون بمسارات الملفات للوصول إلى ملفات أو بيانات خارج الحدود المقصودة للنظام.
  • Multipart/form: Multipart/form هو نوع محتوى HTTP يتيح رفع الملفات والبيانات عبر نماذج الويب، ويُستخدم غالباً لإرسال الصور أو المستندات عبر الإنترنت.
  • تنفيذ الشيفرة عن بُعد (RCE): تنفيذ الشيفرة عن بُعد (RCE) يحدث عندما يشغّل المهاجم شيفرته الخاصة على نظام الضحية، وغالباً ما يؤدي إلى سيطرة كاملة أو اختراق ذلك النظام.
  • CVSS: CVSS (نظام تسجيل الثغرات الشائعة) هو طريقة معيارية لتقييم شدة العيوب الأمنية، بدرجات من 0.0 إلى 10.0.
  • التحقق من المدخلات: التحقق من المدخلات يفحص بيانات المستخدم وينقّيها قبل المعالجة، ما يساعد على منع التهديدات الأمنية ويضمن أن التطبيقات تتعامل مع المعلومات بأمان.
AdonisJS file upload flaw cyber security

KERNELWATCHER KERNELWATCHER
Linux Kernel Security Analyst
← Back to news